package com.atguigu.system.exception;


import com.atguigu.system.utils.R;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

@RestControllerAdvice
public class GlobalException {


    @ExceptionHandler(Exception.class)
    public R error(Exception e) {
        System.out.println("执行了全局异常...");
        e.printStackTrace();
        return R.error("执行了全局异常处理...");
    }


    @ExceptionHandler(ArithmeticException.class)
    public R error(ArithmeticException e) {
        System.out.println("执行了特定异常...");
        e.printStackTrace();
        return R.error("执行了特定异常处理...");
    }

    @ExceptionHandler(GuiguException.class)
    public R error(GuiguException e) {

        System.out.println("执行了自定义异常...");
        e.printStackTrace();
        // 返回的信息就是自定义的
        return R.error(e.getCode(), e.getMsg());
    }

}
